/**
 * 管理员相关接口类型定义
 */

export namespace Route {
  // 路由管理相关
  export interface RouteItem {
    FId: string;
    FParentId: string | null;
    FPath: string;
    FName: string;
    FComponent: string;
    FRedirect: string | null;
    FIcon: string;
    FTitle: string;
    FIsLink: string;
    FIsHide: boolean;
    FIsFull: boolean;
    FIsAffix: boolean;
    FIsKeepAlive: boolean;
    FOrderNum: number;
    children?: RouteItem[];
  }

  export interface RouteListResult {
    list: RouteItem[];
  }

  export interface RouteParams {
    FId?: string;
    FParentId?: string | null;
    FPath: string;
    FName: string;
    FComponent: string;
    FRedirect?: string | null;
    FIcon?: string;
    FTitle: string;
    FIsLink?: string;
    FIsHide?: boolean;
    FIsFull?: boolean;
    FIsAffix?: boolean;
    FIsKeepAlive?: boolean;
    FOrderNum?: number;
  }

  export interface RoleRouteParams {
    FRoleId: string;
    FRouteIds: string[];
  }
  export interface RoleRoutleList {
    FId: string;
    FTitle: string;
    FParentId: string;
    FHasPermission: boolean;
  }
}
